'use strict';

const uuid = require("uuid")
exports.main = async (event, context) => {
    const data = await uniCloud.request({
        url: "https://api.weixin.qq.com/sns/jscode2session",
        method: 'GET',
        data: {
            appid: 'wxf6ab670df0a89e37',
            secret: '51529562462349b6aebfc6c9c3950b31',
            js_code: event.code,
            grant_type: 'authorization_code'
        }
    })

    // 成功获取 wxOpenid，查询数据库判断一下是否已经注册
    const res = await uniCloud.database().collection("users").where({
        wxOpenid: data.data.openid
    }).get()


    if (!res?.data?.length) {
        // 如果没有注册的话新增一个用户信息，username 随便定一个
        const addRes = await uniCloud.database().collection("users").add({
            // 账号
            accountNumber: '',
            // 密码
            password: "",
            // 用户名
            userName: '微信用户',
            // wx openid
            wxOpenid: data.data.openid,
            // 角色
            // role: "student",
			role: 0,
            // 背单词系统的 uuid
            uuid: uuid()
        })

        const userInfo = await uniCloud.database().collection("users").doc(addRes.id).get()

        return userInfo?.data?.[0]
    }

    //返回用户信息给前端
    return res?.data?.[0]
};